#include "compi/compi.h"

#include <gtest/gtest.h>

/**
 * 自定义测试主函数，正确处理MPI的初始化和清理
 *
 * @param argc 命令行参数数量
 * @param argv 命令行参数数组
 * @return 测试结果，0表示成功
 */
int
main(int argc, char ** argv)
{
    // 使用 COMPI 的 Environment 统一管理 MPI 生命周期
    compi::Environment env;

    // 初始化 GTest
    ::testing::InitGoogleTest(&argc, argv);

    // 运行所有测试
    int result = RUN_ALL_TESTS();

    // Environment 析构时将负责 MPI_Finalize（若其拥有初始化）
    return result;
}